var http = require('http')

var urlLib = require('url')

//专门将查询字符串转化为 对象
var queryString = require('querystring')

var fs = require('fs')

var app = http.createServer((req,res)=>{
    //
    var obj = urlLib.parse(req.url, true)
    // get 请求 的时候 http://127.0.0.1:8080/get.html?username=yuonly&password=123123
    // ?后面内容： 查询字符串 键名1=键值1&键名2=键值2
    // get请求参数都会在地址栏中以查询字符串的形式显示，不安全

    // get请求参数的 解析
    
    console.log(obj)

    var query = obj.query;

    var username = query.username
    var password = query.password

    console.log('username='+username+',password='+password)

    // 以上 get参数获取

    // post 请求
    // 不是明文的，参数信息不回进入 地址栏，相对比较安全。 在http请求的 body中将数据发送过来的
    // post 过来的数据，通过 on 

    var str = ''
    req.on('data', function(data){
        str += data
    })

    req.on('end', function(data){
        // console.log('end: ' + str.toString())
        // username=yuonly&password=333&description=6666
        // {
        //     username:yuonly,
        //     password:333,
        //     description:666
        // }
        var postData = queryString.parse(str.toString())
        console.log(postData)
        
    })




    var path = obj.pathname

    var ext = path.split('.').pop()
    console.log(ext)

    var filePath = ''
    switch(ext){
        case 'html':
            filePath = './template' + path
            break;
        case 'css':
            break;

    }

    fs.readFile(filePath,(err, data)=>{
        if(err){
            res.write('404 page not found')
        }else {
            res.write(data)
        }
        res.end()
    })

    

})

app.listen(8080)